package kr.or.ddit.web.listener;

import java.util.Hashtable;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

//import kr.or.ddit.vo.MemberDTO;

import lombok.extern.slf4j.Slf4j;

//웹어플리케이션에서 이벤트 처리 방법 
//1. 처리하고자 하는 이벤트르를 지정
//2. 해당 이벤트에대한 처리자(listener)의 구현체를 만들고,
//3. web.xml 에 이벤트 처리자를 등록(addListener)
// * 웹어플리케이션에서의 이벤트 분류(즉 이벤트리스너를 넣을 순간?)
// 1.request 단위 이벤트(ServletRequestAttributeListener)
// 2.session 단위 이벤트(HttpSessionListener, httpSessionAttributeListener, HttpSessionBindingListener)
// 3.ServletContext 단위 이벤트(SeveletContextListener)

//@Slf4j 를 이용해서 로거 처리를 할수 있다.(로그에 찍어볼라고 해논거)
@Slf4j
public class ApplicationListener implements ServletContextListener{
	
//	public Map<String, MemberDTO> userList;		// 이건 유저 리스트 만들때.. 접속자표시하고 클릭하면 메일이나 쪽지 보내기 기능떔에 

	@Override
	public void contextDestroyed(ServletContextEvent arg0) {
		log.info(arg0.getServletContext().getContextPath()+ "어플리케이션 스탑!");
		
	}

	@Override
	public void contextInitialized(ServletContextEvent arg0) {
		log.info(arg0.getServletContext().getContextPath()+ "어플리케이션 스타트");
//		userList=new Hashtable<>();
		ServletContext ctx= arg0.getServletContext();
//		ctx.setAttribute("userList", userList);
		ctx.setAttribute("cPath", ctx.getContextPath());	// 이러면 어플리케이션내 모든곳에서 cpath가능
		
	}

}
